package com.traffic.managent.beetl;

import java.util.Date;
import java.util.Random;
import java.util.concurrent.atomic.AtomicInteger;

import com.traffic.managent.util.DateFormatUtils;
import com.traffic.managent.util.HtmlUtils;
import com.traffic.managent.util.StringUtils;

public class BeeltFunctions {

	// public static SysConfig getConfig(String key) {
	// return ConfigCache.getSysConfig(key);
	// }

	// //////////////////////////////////产生随机数//////////////////////////////////
	private static AtomicInteger bgNum = new AtomicInteger(0);

	public static int bgNum(int num) {
		if (bgNum.get() > num) {
			bgNum.set(0);
		}
		bgNum.incrementAndGet();
		return bgNum.get();
	}

	public static int randomInt() {
		return new Random().nextInt();
	}

	public static int randomInt(int num) {
		return new Random().nextInt(num);
	}

	/**
	 * 字符串截取
	 * 
	 * 
	 * @param str
	 * @param start
	 * @param end
	 * @return
	 */
	public static String substr(String str, int start, int end) {
		return str == null ? null : str.substring(start, end);
	}

	public static String getNow() {
		return DateFormatUtils.getNow();
	}

	public static String getNow(String regex) {
		return DateFormatUtils.getNow(regex);
	}

	public static String suojin(String str, int length) {
		return StringUtils.suojin(str, length);
	}

	/**
	 * split
	 * @param str
	 * @param split
	 * @return
	 */
	public static String[] split(String str, String split) {
		if (StringUtils.isEmpty(str)) {
			return null;
		}
		return str.split(split);
	}

	/**
	 * html预览
	 * @param htmlStr
	 * @return
	 */
	public static String showHTML(String htmlStr, int num, String endStr) {
		String tmpStr = HtmlUtils.delHTMLTag(htmlStr);
		tmpStr = StringUtils.suojin(tmpStr, num + endStr.length(), endStr);
		return tmpStr;
	}

//	/**
//	 * 获取用户
//	 * @param pid
//	 * @return
//	 */
//	public static CxUser getUser(Integer pid) {
//		CxUser user = CxUserCache.getUser(pid);
//		return user;
//	}

//	/**
//	 * 获取用户名
//	 * @param pid
//	 * @return
//	 */
//	public static String getUserName(Integer pid) {
//		CxUser user = CxUserCache.getUser(pid);
//		if (user == null) {
//			return "";
//		}
//		if (StringUtils.isNotEmpty(user.getStr("realname"))) {
//			return user.getStr("realname");
//		}
//		return user.getStr("username");
//	}

	/**
	 * 判断date距当前时间是否相差before天
	 * @param date
	 * @param before
	 * @return
	 */
	public static boolean isNew(String date, int before) {
		DateFormatUtils.parseByAll(date).getTime();
		Date d1 = new Date();
		Date d2 = DateFormatUtils.parse(date, DateFormatUtils.DEFAULT_REGEX_YYYY_MM_DD_HH_MIN_SS);
		long diff = d1.getTime() - d2.getTime();
		long days = diff / (1000 * 60 * 60 * 24);
		return days - 7 <= 0;
	}

}
